Add xm migrate command.
40f552eariuUSB9TWqCPnDLz5zvxMw tools/python/xen/xm/destroy.py
40e41cd2w0I4En6qrJn4em8HkK_oxQ tools/python/xen/xm/help.py
40cf2937isyS250zyd0Q2GuEDoNXfQ tools/python/xen/xm/main.py
+411b2c1ehdEGO_CwG0tvn85Q-Tfh5g tools/python/xen/xm/migrate.py
40cf2937PSslwBliN1g7ofDy2H_RhA tools/python/xen/xm/opts.py
40cf2937Z8WCNOnO2FcWdubvEAF9QQ tools/python/xen/xm/shutdown.py
40fcefb2K1xqVVT4D-p7nL2GzS4scg tools/sv/Main.rpy
eserver.inject('xend.migrate.ok', self.sxpr())
else:
self.state = 'error'
- self.error(XendError("save failed"))
+ self.error(XendError("migrate failed"))
eserver.inject('xend.migrate.error', self.sxpr())
class XendSaveInfo(XfrdInfo):
from xen.xend import sxp
from xen.xend.XendClient import XendError, server
from xen.xend.XendClient import main as xend_client_main
-from xen.xm import create, destroy, shutdown
+from xen.xm import create, destroy, migrate, shutdown
class Group:
xm.prog(ProgRestore)
+class ProgMigrate(Prog):
+ group = 'domain'
+ name = "migrate"
+ info = """Migrate a domain to another machine."""
+
+ def help(self, args):
+ migrate.help(arg)
+
+ def main(self, args):
+ migrate.main(args)
+
+xm.prog(ProgMigrate)
+
class ProgList(Prog):
group = 'domain'
name = "list"
--- /dev/null
+# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
+
+"""Domain migration.
+"""
+
+import sys
+
+from xen.xend.XendClient import server
+from xen.xm.opts import *
+
+DOM0_NAME = 'Domain-0'
+DOM0_ID = '0'
+
+gopts = Opts(use="""[options] DOM HOST
+
+Migrate domain DOM to host HOST.
+The transfer daemon xfrd must be running on the
+local host and on HOST.
+""")
+
+gopts.opt('help', short='h',
+ fn=set_true, default=0,
+ use="Print this help.")
+
+def help(argv):
+ gopts.usage()
+
+def main(argv):
+ opts = gopts
+ args = opts.parse(argv)
+ if opts.vals.help:
+ opts.usage()
+ return
+ if len(args) != 2:
+ opts.err('Invalid arguments')
+ dom = args[0]
+ dst = args[1]
+ if dom in [DOM0_NAME, DOM0_ID]:
+ opts.err('Cannot migrate ' + dom)
+ server.xend_domain_migrate(dom, dst)
+